package com.youlai.boot.modules.webapp.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 证件照服务接口
 */
public interface IdPhotoService {

    /**
     * 生成证件照
     *
     * @param image 原始图片
     * @param spec 规格（可选）
     * @return 生成的证件照URL
     */
    Map<String, Object> generateIdPhoto(MultipartFile image, String spec);

    /**
     * 添加背景
     *
     * @param image 原始图片
     * @param color 背景颜色
     * @return 处理后的图片URL
     */
    Map<String, Object> addBackground(MultipartFile image, String color);

    /**
     * 人像抠图
     *
     * @param image 原始图片
     * @return 抠图后的URL
     */
    String humanMatting(MultipartFile image);

    /**
     * 设置证件照规格
     *
     * @param spec 规格参数
     */
    void setPhotoSpec(Map<String, Object> spec);

    /**
     * 生成排版照片
     *
     * @param image 原始图片
     * @param layout 布局规格
     * @return 排版后的图片URL
     */
    String generateLayoutPhotos(MultipartFile image, String layout);

    /**
     * 添加水印
     *
     * @param image 原始图片
     * @param text 水印文字
     * @return 添加水印后的图片URL
     */
    String addWatermark(MultipartFile image, String text);

    /**
     * 证件照裁剪
     *
     * @param image 原始图片
     * @param x X坐标
     * @param y Y坐标
     * @param width 宽度
     * @param height 高度
     * @return 裁剪后的图片URL
     */
    String idPhotoCrop(MultipartFile image, Integer x, Integer y, Integer width, Integer height);
}